![]() |
![]() |
|
rtk 20142014.1.1 (preuredi vrstice)Dnevnik 1. podnalogaV računalniškem sistemu imamo zabeležene dogodke in bi jih radi v strnjeni
obliki shranjevali v seznam nizov. Vsak dogodek (kot na primer prijava ali
odjava uporabnika, razne napake) je predstavljen z nizom znakov (kratko besedilo/vrstica),
dolžine največ Ker se nekateri dogodki včasih zgodijo večkrat zapored (ne da bi se vmes zgodil
kakšen drug dogodek), jih lahko shranimo v skrajšani obliki: ponovitve zadnjega
shranjenega dogodka le štejemo. Ko se kasneje pojavi nek drugačen dogodek,
shranimo le, da se je zadnji shranjen dogodek ponovil še NalogaNapisana je funkcija
Vhodni podatkiTekstovna datoteka
Izhodni podatkiFunkcija naj vrne seznam nizov, v katerem so strnjeni dogodki.
Uradna rešitevdef strni_izpis(dat): """Funkcija sprejme tekstovno datoteko z zaporednimi dogodki, in jih strne tako, da napiše, kolikokrat se kateri ponovi.""" prejsnja = "" n = 0 with open(dat, 'r', encoding='utf-8') as dat: sez_strnjenih = [] for dogodek in dat: if n > 0 and prejsnja == dogodek: n += 1 continue elif n == 2: sez_strnjenih.append("%s" % prejsnja[:-1]) elif n > 2: sez_strnjenih.append("ponovljeno se %d-krat" % (n - 1)) prejsnja = dogodek n = 1 if dogodek: sez_strnjenih.append(dogodek.strip()) return sez_strnjenih 2014.1.2 (preuredi vrstice)Čopiči 1. podnalogaV Ajdovščini tovarna Wlahna d. o. o. proizvaja krasne veganske bio čopiče,
v celoti narejene iz lesa. Leseni ročaji so tako ali tako nekaj običajnega,
v tej tovarni pa celó konico čopiča izdelajo iz lesa iste vrste, ki ga
zmeljejo in predelajo v celulozna vlakna.
V skladišču podjetja imajo lesene palčke enake debeline, a različnih dolžin, iz
katerih želijo izdelati same enake čopiče. Za posamezen ročaj potrebujejo NalogaNapisali so funkcijo
Vhodni podatki
Izhodni podatkiZaokroženo naravno število, ki predstavlja največje število čopičev, ki jih podjetje lahko proizvede. Primer
Uradna rešitevdef koliko_copicev(k, r, l): """Izračuna največje število čopičev, ki jih lahko proizvedemo glede na dolžino enega ročaja r, dolžino palčke k, potrebne za 1 konico, ter tabelo dolžin palčk.""" skup_dolzina = 0 max_rocajev = 0 for palica in l: skup_dolzina += palica max_rocajev += palica // r max_copicev = skup_dolzina // (k + r) if max_rocajev <= max_copicev: max_copicev = max_rocajev return max_copicev 2014.1.3 (preuredi vrstice)Pacifistični generali 1. podnalogaKer imajo vse svetovne vojaške velesile jedrsko orožje, ga moramo nujno imeti tudi pri nas v Sloveniji. Vlada je na IJS naročila izdelavo jedrskih konic, od Rusov pa so kupili bojno plovilo vnl-11 Triglav, kjer so smrtonosne rakete zdaj shranjene. Dostopa do tako uničujočega orožja ne sme imeti kdorkoli, ampak ga ima samo peščica najpomembnejših generalov. Ker bi se lahko med generali našel norec, ki bi za zabavo poslal raketo ali dve na katero
od sosednjih republik, so se na vojaškem ministrstvu odločili za stroge varnostne ukrepe.
Naročili so izdelavo Te ključe so nato razdelili med Na ministrstvu so pred kratkim opazili fenomen, na katerega pri snovanju sistema
sploh niso pomislili. Med generali je vedno več pacifistov, ki niso pod nobenimi
pogoji pripravljeni uporabiti jedrskega orožja. Vlada se zdaj boji, da bi lahko manjša
skupinica pacifistov ostalim generalom preprečila uporabo orožja. Rekli bomo, da
je sistem NalogaNapisana je funkcija
Vhodni podatkiŠtevilo Omejitve vhodnih podatkovSistem ni večji od Izhodni podatkiFunkcija vrne PrimerRecimo, da imamo
Prvi general ima torej ključ št.
Sistem iz zgleda je Uradna rešitevdef odpornost(r, k, G): """Pove, ali je sistem ključev in generalov r-odporen ali ne.""" st_pojavitev = [0] * k for general in G: for kljuc in general: st_pojavitev[kljuc - 1] += 1 for i in range(k): if st_pojavitev[i] <= r: return False else: return True 2014.1.4 (preuredi vrstice)Uniforme 1. podnalogaPodjetje Wlahna d. o. o. se je odločilo svoje delavce obleči v praktične, trpežne uniforme iz debelega platna, skozi katerega jih ne bodo mogle bosti lesene trske, ki jih je v proizvodni hali podjetja vse polno. Uniforma sestoji iz treh kosov: hlač, jopiča in rokavic. Vsak kos uniforme je dobavljiv v velikostih od 1 do 100. V podjetje je pravkar prispela nova pošiljka kosov uniform. Ko so jih razkladali s tovornjaka, so sproti popisali vsak kos uniforme (recimo: „hlače velikosti 73“). Zdaj jih zanima, koliko popolnih uniform lahko sestavijo. Popolna uniforma sestoji iz hlač, jopiča in rokavic v enaki velikosti. NalogaNapisana je funkcija
Vhodni podatkiV prvi vrstici je zapisano število dostavljenih kosov
Izhodni podatkiNajvečje število uniform, ki jih lahko sestavimo glede na zalogo. Za zgornje podatke:
Uradna rešitevdef stevilo_uniform(vhod): """Iz datoteke prebere podatke o zalogi ter poišče in vrne število popolnih uniform, ki jih lahko sestavimo.""" zaloga = 100 * [0] # različnih velikosti je 100 for i in range(100): zaloga[i] = 3 * [0] max_uniform = 0 with open(vhod, 'r', encoding='utf-8') as vhodna: for vrstica in vhodna: podatek = vrstica.strip().split(' ') if len(podatek) > 1: oblacilo = int(podatek[0]) velikost = int(podatek[1]) zaloga[velikost - 1][oblacilo - 1] += 1 for i in range(100): velikost = zaloga[i] max_uniform += min(velikost) return max_uniformMesto objave ob koncu projekta 15.9.2018 |